/**
 * @copyright Copyright (c) 2025 CSG Digital Grid Technology (Guangdong) Co., Ltd.
 * @author Xie Jinhui
 */

/* 
 * Recursive inclusion prevention mechanism for header file protection
 * This standard C preprocessor technique prevents multiple inclusions of the same header
 * During compilation, ensures the header contents are processed only once per translation unit
 * Eliminates redefinition errors and improves compilation efficiency
 */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __CS_GETOPT_H
#define __CS_GETOPT_H

/* 
 * Standard integer type definitions inclusion
 * Provides platform-independent fixed-width integer types like uint8_t, uint32_t
 * Ensures consistent data type sizes across different hardware architectures
 * Essential for portable code and predictable memory usage patterns
 */
#include <stdint.h>

/* 
 * External function declaration for command line option parameter processing
 * This function implements command line argument parsing functionality
 * Processes argc and argv parameters from main function to extract command options
 * Returns status code indicating successful parameter parsing and validation
 * 
 * @param argc Argument count from main function, represents number of command line arguments
 * @param argv Argument vector from main function, array of strings containing command line arguments
 * @return uint8_t Status indicator representing option processing result (SUCCESS/FAILURE codes)
 */
extern uint8_t getOptionParam(int argc, char **argv);

/* 
 * End of header file inclusion protection block
 * Matches the #ifndef __CS_GETOPT_H directive at the beginning of the file
 * Completes the recursive inclusion prevention mechanism for this header
 * Ensures clean header file structure and proper compilation unit separation
 */
#endif /* __CS_GETOPT_H */